package com.ly.heart.domain;

import java.util.Date;
import java.util.List;

import com.baomidou.mybatisplus.annotation.IdType;
import com.fasterxml.jackson.annotation.JsonFormat;
import com.baomidou.mybatisplus.annotation.TableName;
import com.baomidou.mybatisplus.annotation.TableField;
import com.baomidou.mybatisplus.annotation.TableId;
import com.ly.common.core.domain.BaseEntity;
import lombok.Data;
import org.apache.commons.lang3.builder.ToStringBuilder;
import org.apache.commons.lang3.builder.ToStringStyle;
import com.ly.common.annotation.Excel;
import io.swagger.annotations.ApiModel;
import io.swagger.annotations.ApiModelProperty;

/**
 * 勘测报告对象 erp_survey_report_info
 *
 * @author wutao
 * @date 2024-05-22
 */
@TableName ( "erp_survey_report_info" )
@ApiModel ( value = "erp_survey_report_info对象", description = "勘测报告" )
@Data
public class SurveyReportEntity extends BaseEntity {

    private static final long serialVersionUID = 1L;

    /**
     * id
     */
    @TableId ( type = IdType.INPUT )
    private String id;

    /**
     * 客户Id
     */
    @ApiModelProperty ( "客户Id" )
    @TableField ( "customer_id" )
    @Excel ( name = "客户Id" )
    private String customerId;

    /**
     * 勘测申请Id
     */
    @ApiModelProperty ( "勘测申请Id" )
    @TableField ( "survey_apply_id" )
    @Excel ( name = "勘测申请Id" )
    private String surveyApplyId;

    /**
     * 屋顶可利用面积
     */
    @ApiModelProperty ( "屋顶可利用面积" )
    @TableField ( "roof_area" )
    @Excel ( name = "屋顶可利用面积" )
    private String roofArea;

    /**
     * 发电时间段峰谷平用电量（万度）
     */
    @TableField ( "use_ele_amount" )
    @ApiModelProperty ( "发电时间段峰谷平用电量" )
    @Excel ( name = "发电时间段峰谷平用电量", readConverterExp = "万=度" )
    private String useEleAmount;

    /**
     * 变压器数量
     */
    @ApiModelProperty ( "变压器数量" )
    @TableField ( "transformer_number" )
    @Excel ( name = "变压器数量" )
    private Integer transformerNumber;

    /**
     * 变压器容量
     */
    @ApiModelProperty ( "变压器容量" )
    @TableField ( "transformer_capacity" )
    @Excel ( name = "变压器容量" )
    private String transformerCapacity;

    /**
     * 经纬度
     */
    @ApiModelProperty ( "经纬度" )
    @TableField ( "latitude" )
    @Excel ( name = "经纬度" )
    private String latitude;

    /**
     * 日照小时数，文本
     */
    @ApiModelProperty ( "日照小时数，文本" )
    @TableField ( "sunshine_time" )
    @Excel ( name = "日照小时数，文本" )
    private String sunshineTime;

    /**
     * 特殊情况描述
     */
    @ApiModelProperty ( "特殊情况描述" )
    @TableField ( "special_desc" )
    @Excel ( name = "特殊情况描述" )
    private String specialDesc;

    /**
     * 填写人Id，登录用户Id
     */
    @ApiModelProperty ( "填写人Id，登录用户Id" )
    @TableField ( "user_id" )
    @Excel ( name = "填写人Id，登录用户Id" )
    private String userId;

    /**
     * $column.columnComment
     */
    @ApiModelProperty ( "更新时间" )
    @TableField ( "is_used" )
    @Excel ( name = "更新时间" )
    private Integer isUsed;

    @TableField(exist = false)
    private List<FileEntity> fileEntities;

    @Override
    public String toString () {
        return new ToStringBuilder ( this, ToStringStyle.MULTI_LINE_STYLE )
                .append ( "id", getId () )
                .append ( "customerId", getCustomerId () )
                .append ( "surveyApplyId", getSurveyApplyId () )
                .append ( "roofArea", getRoofArea () )
                .append ( "useEleAmount", getUseEleAmount () )
                .append ( "transformerNumber", getTransformerNumber () )
                .append ( "transformerCapacity", getTransformerCapacity () )
                .append ( "latitude", getLatitude () )
                .append ( "sunshineTime", getSunshineTime () )
                .append ( "specialDesc", getSpecialDesc () )
                .append ( "userId", getUserId () )
                .append ( "createTime", getCreateTime () )
                .append ( "isUsed", getIsUsed () )
                .toString ();
    }
}
